package com.yaorange.entity;

import com.fasterxml.jackson.annotation.JsonFormat;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

@Table(name = "notice")
public class Notice {
    /**
     * 编号id
     */
    @Id
    @Column(name = "notice_id")
    private Integer noticeId;

    /**
     * 标题
     */
    @Column(name = "notice_title")
    private String noticeTitle;

    /**
     * 内容
     */
    @Column(name = "notice_content")
    private String noticeContent;

    /**
     * 公告对象类型 1:单个用户 2:多个用户 3：全部用户
     */
    @Column(name = "notice_user_type")
    private int noticeUserType=3;


    /**
     * 公告员工id
     */
    @Column(name = "notice_emp_ids")
    private String noticeEmpIds;

    /**
     * 公告部门id
     */
    @Column(name = "notice_depts")
    private String noticeDepts;

    /**
     * 公告类型 1:公司公告  2:部门公告  3:个人公告
     */
    @Column(name = "notice_type")
    private Boolean noticeType;

    /**
     * 发布时间
     */
    @Column(name = "notice_publish_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date noticePublishTime;

    /**
     * 状态 0:待发布  1：已发布 2：撤销
     */
    @Column(name = "notice_status")
    private Boolean noticeStatus;

    /**
     * 创建时间
     */
    @Column(name = "notice_created_time")
    private Date noticeCreatedTime;

    /**
     * 修改时间
     */
    @Column(name = "notice_updated_time")
    private Date noticeUpdatedTime;

    /**
     * 创建人
     */
    @Column(name = "notice_created_by")
    private Integer noticeCreatedBy;

    /**
     * 修改人
     */
    @Column(name = "notice_updated_by")
    private Integer noticeUpdatedBy;

    /**
     * 获取编号id
     *
     * @return notice_id - 编号id
     */
    public Integer getNoticeId() {
        return noticeId;
    }

    /**
     * 设置编号id
     *
     * @param noticeId 编号id
     */
    public void setNoticeId(Integer noticeId) {
        this.noticeId = noticeId;
    }

    /**
     * 获取标题
     *
     * @return notice_title - 标题
     */
    public String getNoticeTitle() {
        return noticeTitle;
    }

    /**
     * 设置标题
     *
     * @param noticeTitle 标题
     */
    public void setNoticeTitle(String noticeTitle) {
        this.noticeTitle = noticeTitle == null ? null : noticeTitle.trim();
    }

    /**
     * 获取内容
     *
     * @return notice_content - 内容
     */
    public String getNoticeContent() {
        return noticeContent;
    }

    /**
     * 设置内容
     *
     * @param noticeContent 内容
     */
    public void setNoticeContent(String noticeContent) {
        this.noticeContent = noticeContent == null ? null : noticeContent.trim();
    }

    /**
     * 获取公告对象类型 1:单个用户 2:多个用户 3：全部用户
     *
     * @return notice_user_type - 公告对象类型 1:单个用户 2:多个用户 3：全部用户
     */
    public int getNoticeUserType() {
        return noticeUserType;
    }

    /**
     * 设置公告对象类型 1:单个用户 2:多个用户 3：全部用户
     *
     * @param noticeUserType 公告对象类型 1:单个用户 2:多个用户 3：全部用户
     */
    public void setNoticeUserType(int noticeUserType) {
        this.noticeUserType = noticeUserType;
    }

    /**
     * 获取公告员工id
     *
     * @return notice_emp_ids - 公告员工id
     */
    public String getNoticeEmpIds() {
        return noticeEmpIds;
    }

    /**
     * 设置公告员工id
     *
     * @param noticeEmpIds 公告员工id
     */
    public void setNoticeEmpIds(String noticeEmpIds) {
        this.noticeEmpIds = noticeEmpIds == null ? null : noticeEmpIds.trim();
    }

    /**
     * 获取公告部门id
     *
     * @return notice_depts - 公告部门id
     */
    public String getNoticeDepts() {
        return noticeDepts;
    }

    /**
     * 设置公告部门id
     *
     * @param noticeDepts 公告部门id
     */
    public void setNoticeDepts(String noticeDepts) {
        this.noticeDepts = noticeDepts == null ? null : noticeDepts.trim();
    }

    /**
     * 获取公告类型 1:公司公告  2:部门公告  3:个人公告
     *
     * @return notice_type - 公告类型 1:公司公告  2:部门公告  3:个人公告
     */
    public Boolean getNoticeType() {
        return noticeType;
    }

    /**
     * 设置公告类型 1:公司公告  2:部门公告  3:个人公告
     *
     * @param noticeType 公告类型 1:公司公告  2:部门公告  3:个人公告
     */
    public void setNoticeType(Boolean noticeType) {
        this.noticeType = noticeType;
    }

    /**
     * 获取发布时间
     *
     * @return notice_publish_time - 发布时间
     */
    public Date getNoticePublishTime() {
        return noticePublishTime;
    }

    /**
     * 设置发布时间
     *
     * @param noticePublishTime 发布时间
     */
    public void setNoticePublishTime(Date noticePublishTime) {
        this.noticePublishTime = noticePublishTime;
    }

    /**
     * 获取状态 0:待发布  1：已发布 2：撤销
     *
     * @return notice_status - 状态 0:待发布  1：已发布 2：撤销
     */
    public Boolean getNoticeStatus() {
        return noticeStatus;
    }

    /**
     * 设置状态 0:待发布  1：已发布 2：撤销
     *
     * @param noticeStatus 状态 0:待发布  1：已发布 2：撤销
     */
    public void setNoticeStatus(Boolean noticeStatus) {
        this.noticeStatus = noticeStatus;
    }

    /**
     * 获取创建时间
     *
     * @return notice_created_time - 创建时间
     */
    public Date getNoticeCreatedTime() {
        return noticeCreatedTime;
    }

    /**
     * 设置创建时间
     *
     * @param noticeCreatedTime 创建时间
     */
    public void setNoticeCreatedTime(Date noticeCreatedTime) {
        this.noticeCreatedTime = noticeCreatedTime;
    }

    /**
     * 获取修改时间
     *
     * @return notice_updated_time - 修改时间
     */
    public Date getNoticeUpdatedTime() {
        return noticeUpdatedTime;
    }

    /**
     * 设置修改时间
     *
     * @param noticeUpdatedTime 修改时间
     */
    public void setNoticeUpdatedTime(Date noticeUpdatedTime) {
        this.noticeUpdatedTime = noticeUpdatedTime;
    }

    /**
     * 获取创建人
     *
     * @return notice_created_by - 创建人
     */
    public Integer getNoticeCreatedBy() {
        return noticeCreatedBy;
    }

    /**
     * 设置创建人
     *
     * @param noticeCreatedBy 创建人
     */
    public void setNoticeCreatedBy(Integer noticeCreatedBy) {
        this.noticeCreatedBy = noticeCreatedBy;
    }

    /**
     * 获取修改人
     *
     * @return notice_updated_by - 修改人
     */
    public Integer getNoticeUpdatedBy() {
        return noticeUpdatedBy;
    }

    /**
     * 设置修改人
     *
     * @param noticeUpdatedBy 修改人
     */
    public void setNoticeUpdatedBy(Integer noticeUpdatedBy) {
        this.noticeUpdatedBy = noticeUpdatedBy;
    }
}
